Communication of voice and data signals is often accomplished by converting analog signals to digital signals. These digital signals are then transmitted from a transmitting device to a receiving signal, converted back to analog, if necessary, and communicated to a user. This digital transmission is often performed through analog channels. Digital information is transmitted in the form of a "symbol" representing a digital value. In some cases, adjacent symbols can overlap, resulting in a phenomenon known as intersymbol interference. This interference can corrupt a digital transmission, leading to errors in the receipt of the digital information.
In a magnetic recording channel, a method for decoding the binary symbol sequence that is outputted from the channel in its corrupted form is required. Maximum-likelihood sequence estimation (MLSE) decoding has been employed in the past as an effective tool in pulse detectors for receiving and decoding digital transmissions that suffer from intersymbol interference.
The use of partial response signaling allows a better handling of intersymbol interference and allows a more efficient utilization of the bandwidth of a given channel. In partial response systems, a controlled amount of intersymbol interference can be allowed. The partial response system may be described by the polynomials (1+D), (1-D) and (1-D.sup.2) also called duobinary, dicode and class IV, respectively. A general polynomial that is most often applied to magnetic recording is (1-D) (1+D).sup.n, where n=1 is PR4 or Class IV, n=2 is EPR 4 (Extended PR4), and n=3 is E.sup.2 PR4. Higher values of n may also be used.
Class IV partial response waveforms are formed by the subtraction of binary waveforms at two bit intervals apart. This process boosts mid-band frequencies making the system more immune to noise and distortion in both high and low frequencies. This is especially useful in a magnetic recording channel where using a conventional inductive head, there is a little signal of low frequencies, and spacing losses can cause a large attenuation at high frequencies.
Because Class IV partial response signaling for digital detection is especially suited for the magnetic recording channel, sampled amplitude detection can be applied for magnetic recording. To minimize the propagation of data errors, the signal is turned into a sequence of binary numbers. Procedures for determining the maximum-likelihood sequence in the presence of noise can then be applied. With sequence detection, sequences of bits are detected and processed to minimize error.
Maximum likelihood sequence estimation, in particular, the Viterbi Algorithm, is used improving the detection of symbol (pulse) sequences in the presence of noise and intersymbol interference. MLSE is described by G. D. Forney in "The Viterbi Algorithm", proceedings of the IEEE, Vol. 61, No. 3, March, 1973 pages 268-278 and by R. W. Wood, etc. in "Viterbi detection of Class IV Partial Response on a Magnetic Recording Channel," IEEE transactions on communication, Vol. COM-34, No. 5, May, 1986, pages 454-461. (Herein incorporated by reference in their entirety).
One of the earliest references (Kobayashi, "Application of Probabilistic Decoding to Digital Magnetic Recording Systems", IBM Journal of Research and Development, Vol. 15, No. 1, January 1971, Pages 64-74. (Incorporated by references in its entirety), to the use of Viterbi algorithm on the intersymbol interference problem was related to Class IV partial response on the magnetic recording channel. In essence, the algorithm provides an iterative method of determining the "best" route of branches along a trellis. If, for each branch, a "metric" is calculated which corresponds to the logarithm of the probability of that branch, then the Viterbi algorithm can be used to determine the branch which accumulates the highest log probability, for example, the maximum-likelihood sequence. Note that in practical implementations of the Viterbi algorithm, accumulated squared error is often used in place of accumulated log likelihood. Thus, the branch with the minimum squared error is chosen as the maximum-likelihood sequence. In essence, given a received sequence, (a .sub.N) where ".sub.N " is an integer time index, choose from all possible transmitted sequences (b.sub.N) the one which is most likely to cause (a.sub.N) to be received, for example, choose (b.sub.N) to maximize P ((a.sub.n)/(b.sub.N)).
With the Viterbi algorithm, data is not decoded as soon as it is received. Instead, a sequence of data, having a pre-determined coding depth following the digit to be decoded, is first collected. Then, by computing the path metrics, a limited number of possible messages are selected, each extending throughout the decoding depth far beyond the digit presently to be decoded with only one such survivor sequence ending in each of the data states. The correlation between each survivor sequence and the data actually received is computed for the entire decoding depth under consideration. The highest correlation of the survivor sequence is selected to be the sole survivor sequence. The earliest of the received digital digits within the decoding depth is then permanently decoded under the temporary assumption that the sole survivor sequence is the correct sequence.
The MLSE problem is similar to the problem of finding the shortest route through a certain graph. The Viterbi Algorithm arises as a natural recursive solution. This algorithm is also associated with a state diagram which can be illustrated by a trellis such as illustrated in FIG. 1. In a two-state trellis, each node represents a distinct state at a given time and each branch represents a transition to some new state at the next instant of time.
For the two-state trellis shown in FIG. 1, the upper branches and nodes represent the S0 or State 0 path, and the lower state branches and nodes represent the S1 or State 1 path. The diagonal branches represent a path that changes state. The state metrics ( the accumulated squared errors) at time K are only a function of the state metrics at (K-1) and the path metrics. State metric update equations are given in Equations 1 and 2. EQU M.sub.K (S0)=min(m.sub.00, m.sub.10) Equation 1 EQU M.sub.K (S1)=min(m.sub.01, m.sub.11) Equation 2
where the path metrics m.sub.xx are defined as
m.sub.00 =M.sub.k-1 (S0)+(Y.sub.k -T.sub.00).sup.2 PA1 m.sub.10 =M.sub.k-1 (S1)+(Y.sub.k -T.sub.10).sup.2 PA1 M.sub.01 =M.sub.k (S0)+(Y.sub.k -T.sub.01).sup.2 PA1 m.sub.11 =M.sub.k (S1)+(Y.sub.k -T.sub.11).sup.2 PA1 Y.sub.K =signal amplitude at time=K PA1 T.sub.ab =expected or target signal amplitude associated with the branch from State a to State b. These values may be fixed or programmable. The quantity (Y.sub.k -T.sub.ab).sup.2 is known as the branch metric.
Partial response Class IV waveforms can be considered as two independent interleaved Dicodes (1-D) sequences, and each sequence can be decoded independently. In his paper entitled "Optimal Reception for Binary Partial Response Channels," in Bell System Technical Journey, Vol. 51, No. 2 pages 493-505, published in February 1972, incorporated by reference, M. J. Ferguson proposes a simplified method for viterbi detection for binary partial response channels for example 1--D. Straightforward Viterbi detection needs to keep track of both probabilities going into the two-states, and the ranges of the probabilities are not bounded. Ferguson's method only needs to keep track of the difference between the two probabilities and the value of the differences as well bounded. Assuming .DELTA..sub.K is a difference between the two probabilities in Equation 1 and Equation 2 at time K, Y.sub.K is the received signal value and V T (from Equation 2 above) equals 1. ##EQU1##
Two prior art examples of applying the Viterbi algorithm for decoding magnetic recording channel outputs are U.S. Pat. No. 4,644,564 by Dolivo et al. And U.S. Pat. No. 4,087,787 by Acampora. Dolivo et al, discloses a method that uses two survivor sequences and the difference metric between the two metrics is processed. In Dolivo et al., as each sample is received, the prior art patent recursively determines the new pair of survivor sequences and the new difference metric. Dolivo et al, is implemented in a digital format that suffers in terms of speed and requires more electronics to implement. Furthermore resetting of the voltage signals do not occur automatically as is desired.
A large number of channels use an E.sup.2 PR4 (1,k) detector and a corresponding E.sup.2 PR4 (1,k) trellis. Many applications of these channels (E.sup.2 PR4 (1,k)) are found in removable disk storage devices. Removable disk storage devices also often use peak detection with a (1,k) code. For higher density disc drive systems, it is desirable to use an E PR4 (0,k ) detector. Removable storage devices often require backward compatibility which prevents changing the detector and/or the modulation code used in future drives. In the past there was no way to combine these two detectors so that backward compatibility for the (1,k) systems could be satisfied by the E.sup.2 PR4 (1,k) detector and future higher density systems, which may use the E PR4(0,k) detector. While it is recognized that a EPR4 (1-D) (1+D).sup.2 for (0,K) detector is desirable for higher density future disc drive systems, there has been no way of combining these two types of trellises in the prior art.